<?php

namespace App\Http\Controllers\admin\theme;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

use App\Models\Image;

class RexiaoController extends Controller
{
    //
    public function index()
    {
        $img=new Image();
        $list=$img->where('type',3)->get();
//        return 111;
        return view('admin/theme/rexiao',['list'=>$list]);
    }

    public function store(Request $request)
    {
        $data=$request->except('_token');
        $img=new Image();
        $img->describe=$data['describe'];
        $img->type=3;
        $img->url=$data['url'];
        $img->save();
        $id=$img->id;
        if($id>0)
        {
            $list=$img->where('id',$id)->first();
            return $list;
        }else{
            return null;
        }
    }
    public function update(Request $request)
    {
        $img=new Image();
        $data=$request->only('describe','url');
//        $data['type']=1;
        $row=$img->where('id',$request->id)->update($data);
        if($row>0)
        {
            return json_encode('true');
        }else{
            return null;
        }
    }
    public function getRow(Request $request)
    {
        $img=new Image();
        $row=$img->where('id',$request->id)->first();
//        return $row;
        if(!empty($row))
        {
            return $row;
        }else{
            return null;
        }

    }

    public function del(Request $request)
    {
        $img=new Image();
        $row=$img->where('id',$request->id)->delete();
        if($row>0)
        {
            return json_encode('true');
        }else
        {
            return null;
        }

    }

    public function file(Request $request)
    {
        //dd($request->hasFile('files'));
        if ($request->hasFile('photo')) {
            if ($request->file('photo')->isValid()) {
                $file = $request->file('photo');
                $ext = $file->getClientOriginalExtension();
                $picname = time() . rand(1000, 9999) . '.' . $ext;
                $file->move('./upload/theme/', $picname);
                if ($file->getError() > 0) {
                    return 11111;
                } else {
                    $img = new Image();
                    $id = $request->input('id');
                    $imgs = Image::find($id)->name;
                    if(!empty($imgs) && file_exists('./upload/theme/'.$imgs)){
                        unlink('./upload/theme/'.$imgs);
                    }
                    $data = array('name' => $picname);
                    //dd($id);
                    //更新数据
                    $row=$img->where('id',$id)->update($data);
                    if ($row > 0) {
                        return back();
                    }
                    return 22222;
                }
            } else {
                return 4444;
            }
        } else {
            return 3333;
        }


        // 1.使用自定义类进行图片缩放
        // use App\Org\Image;
        // $img = new Image();
        // $im = $img->open('./uploads/'.$picname);
        // $im->thumb(100,100)->save('./uploads/s_'.$picname);
        // dd($im);

        // 2.使用第三扩展来实现图片缩放
        // $img = Image::make('./uploads/'.$picname)->resize(100,null);
        // $img->save('./uploads/s_'.$picname);

        //等比缩放
//        $img = Image::make('./upload/type'.$picname);
//        $img->resize(100, null, function ($constraint) {
//            $constraint->aspectRatio();
//            $constraint->upsize();
//        });
//        $img->save('./uploads/type/s_'.$picname);
        // return $img->response('jpg');


        // $name = $file->getClientOriginalName();	//获取上传文件的源文件名
        // $ext = $file->getClientOriginalExtension();	//获取源文件后缀
        // $type = $file->getClientMimeType();			//获取源文件类型
        // $err = $file->getError();					//获取源文件错误号
        // getClientSize() 								//获取源文件大小
        // dd($err);


    }

}
